import { BASE_URL } from '../../../http/config'

Page({
  /**
   * 页面的初始数据
   */
  data: {
    article: [],
    pageNo: 1,
    pageSize: 10, // 每页条数（根据后端需求调整）
    pageTotal: 1, // 总页数
    isLoading: false, // 防止重复请求
    // img:BASE_URL
    img:''
  },

  /**
   * 点击文章项跳转详情页
   */
  handleImageClick: function(event) {
    const id = event.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/index/pages/publicWelfareDetail/publicWelfareDetail?id=${id}`
    })
  },

  /**
   * 获取文章列表数据
   */
  getDataList() {
    if (this.data.isLoading) return;

    this.setData({ isLoading: true });
    const _this = this;

    wx.request({
      url: `${BASE_URL}/charityCenter/find`,
      // 传递分页参数（根据后端需求调整，若后端支持分页）
      data: {
        pageNo: this.data.pageNo,
        pageSize: this.data.pageSize
      },
      success(res) {
        console.log('接口返回数据:', res.data);
        
        // 接口返回格式：{code:200, data: Array, message:"成功"}
        if (res.data.code === 200) {
          const newData = res.data.data; // 接口返回的数组数据
          // 计算总页数（若后端返回total可直接使用，这里临时通过数组长度计算）
          const total = newData.length;
          const pageTotal = Math.ceil(total / _this.data.pageSize);

          // 数据拼接逻辑：第一页覆盖，后续页追加
          _this.setData({
            article: _this.data.pageNo === 1 ? newData : [..._this.data.article, ...newData],
            pageTotal: pageTotal,
            isLoading: false
          });
        } else {
          // 接口返回非成功状态时提示
          wx.showToast({
            title: res.data.message || '数据加载失败',
            icon: 'none'
          });
          _this.setData({ isLoading: false });
        }

        // 停止下拉刷新动画（仅第一页需要）
        if (_this.data.pageNo === 1) {
          wx.stopPullDownRefresh();
          wx.hideNavigationBarLoading();
        }
      },
      fail() {
        _this.setData({ isLoading: false });
        wx.showToast({
          title: '网络请求失败',
          icon: 'none'
        });
        wx.stopPullDownRefresh();
        wx.hideNavigationBarLoading();
      }
    });
  },

  /**
   * 上拉加载更多
   */
  onReachBottom() {
    if (this.data.pageNo >= this.data.pageTotal) {
      wx.showToast({
        title: '已加载全部数据',
        icon: 'none'
      });
      return;
    }
    this.setData({ pageNo: this.data.pageNo + 1 });
    this.getDataList();
  },

  /**
   * 下拉刷新
   */
  onPullDownRefresh() {
    wx.showNavigationBarLoading();
    this.setData({ pageNo: 1 }); // 重置为第一页
    this.getDataList();
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getDataList();
  },

  // 其他生命周期函数保持默认
  onReady() {},
  onShow() {},
  onHide() {},
  onUnload() {},
  onShareAppMessage() {}
})